<?php
/**
 * Intreface DAO
 *
 * @author: http://phpdao.com
 * @date: 2015-05-26 14:36
 */
interface ClassifiedsCategoryDAO{

	/**
	 * Get Domain object by primry key
	 *
	 * @param String $id primary key
	 * @Return ClassifiedsCategory 
	 */
	public function load($classifiedsCategory);
	
	public function loadSubcategory($classifiedsCategory);

	/**
	 * Get all records from table
	 */
	
	public function category_list();
	
	public function subcategory_list($classifiedsCategory);
	/**
	 * Get all records from table ordered by field
	 * @Param $orderColumn column name
	 */
	public function queryAllSearchBy($classifiedsCategory);
	
	public function SearchByCount($classifiedsCategory);
	
	public function queryAll($classifiedsCategory);
	
	public function queryAllCount($classifiedsCategory);
	
	
	public function subcategorySearchBy($classifiedsCategory);
	
	public function subcategoryCount($classifiedsCategory);
	
	public function queryAllSubcategory($classifiedsCategory);
	
	public function queryAllSubcategoryCount($classifiedsCategory);
	
	/**
 	 * Delete record from table
 	 * @param classifiedsCategory primary key
 	 */
	public function delete($classifiedsCategory);
	
	public function deleteSubcategory($classifiedsCategory);
	
	/**
 	 * Insert record to table
 	 *
 	 * @param ClassifiedsCategory classifiedsCategory
 	 */
	public function insert($classifiedsCategory);
	
	public function insertSubcategory($classifiedsCategory);
	/**
 	 * Update record in table
 	 *
 	 * @param ClassifiedsCategory classifiedsCategory
 	 */
	public function update($classifiedsCategory);	

	public function updateSubcategory($classifiedsCategory);
	/**
	 * Delete all rows
	 */
	public function clean();

	public function queryByCategoryName($value);

	public function queryByParentId($value);

	public function queryByDescription($value);

	public function queryByStatus($value);

	public function queryByCreatedDate($value);

	public function queryByUpdatedDate($value);


	public function deleteByCategoryName($value);

	public function deleteByParentId($value);

	public function deleteByDescription($value);

	public function deleteByStatus($value);

	public function deleteByCreatedDate($value);

	public function deleteByUpdatedDate($value);


}
?>